#include<iostream>
#include<vector>
using namespace std;
/*
给定一个未经排序的整数数组，找到最长且 连续递增的子序列，并返回该序列的长度。
连续递增的子序列 可以由两个下标 l 和 r（l < r）确定，如果对于每个 l <= i < r，
都有 nums[i] < nums[i + 1] ，
那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。
解题思路：
与之前的最长递增子序列不同，该题的子序列是连续的，所以递推公式会发生一些变化
if(nums[i]>nums[i-1])
    dp[i] = dp[i-1]+1
dp[i]表示的仍然是以下标i为结尾的最长递增子序列的长度
*/
int dp(vector<int> nums)
{
    //创建dp数组,并将其初始值设置为1
    vector<int> dp(nums.size(),1);
    int result = 1;
    for(int i=1;i<nums.size();i++)
    {
        if(nums[i]>nums[i-1])
            dp[i] = max(dp[i],dp[i-1]+1);
        if(dp[i]>result)
            result = dp[i];
    }
    return result;
}
int main()
{
    cout<<"enter a number:"<<endl;
    int number;
    cin>>number;
    cout<<"enter nums:"<<endl;
    vector<int> nums(number);
    for(int i=0;i<number;i++)
        cin>>nums[i];
    cout<<dp(nums);
    return 0;
}